Presentation: Tweet"Asynchronous programming on the server and the client in F#"
Asynchronous workflows have been one of the killer features of F#. With await and async keywords in C# 5.0 and similar features in Dart, the language support for asynchrony is becoming a must have. It is the key to writing scalable server-side applications that do not block a thread for each concurrent request, but also to writing responsive user-interfaces that do not hang when calling a service or performing background computation.
In this talk, we look how to effectively use F# asynchronous workflows on both sides of a client/server application. On the server-side, we can naturally express the communication without using callbacks, while keeping the scalability of event-driven code. On the client-side, we get a powerful way of expressing state-machines behind user interaction, without the inversion of control and the use of mutable state. Thanks to the Pit project, we will also be able to deploy the client-side as a JavaScript application.
Download slides